<template>
  <ConfigProvider :locale="getAntdLocale" :theme="themeConfig">
    <AppProvider>
      <RouterView />
    </AppProvider>
  </ConfigProvider>
</template>

<script lang="ts" setup>
import { AppProvider } from "@/components/Application";
import { useTitle } from "@/hooks/web/useTitle";
import { useLocale } from "@/locales/useLocale";
import { ConfigProvider } from "ant-design-vue";

import { useDarkModeTheme } from "@/hooks/setting/useDarkModeTheme";
import "dayjs/locale/zh-cn";
import { computed } from "vue";

// support Multi-language
const { getAntdLocale } = useLocale();

const { isDark, darkTheme } = useDarkModeTheme();

const themeConfig = computed(() =>
  Object.assign(
    {
      token: {
        colorPrimary: "#0960bd",
        colorSuccess: "#55D187",
        colorWarning: "#EFBD47",
        colorError: "#ED6F6F",
        colorInfo: "#0960bd",
      },
    },
    isDark.value ? darkTheme : {},
  ),
);
// Listening to page changes and dynamically changing site titles
useTitle();
</script>
